<#list data as directory>
    <#if directory.exportModel=='single_method'>
        <#lt>##${directory.directoryTitle!}
    </#if>
    <#list directory.apis as api>
        <#lt>### ${api.title}

        <#lt>**URL:** ${api.requestPath!}

        <#lt>**Type:** <#list api.requestTypes as requestType>${requestType!}</#list>

        <#lt>**Author:** ${api.author!}

        <#lt>**Content-Type:** ${api.contentType!}

        <#if  (api.pathParams?size>0) >
            <#lt>#### Path Params
            <#lt>| 参数名 | 参数类型 | 是否必须 | 最大长度 | 描述 |
            <#lt>| :----- | :------- | :------- | -------- | :--- |
            <#lt><@params fieldInfos=api.pathParams isChildren=false numberLayers="" isReturn=false />
        </#if>

        <#if  (api.headParams?size>0) >
            <#lt>#### Head Params
            <#lt>| 参数名 | 参数类型 | 是否必须 | 最大长度 | 描述 |
            <#lt>| :----- | :------- | :------- | -------- | :--- |
            <#lt> <@params fieldInfos=api.headParams isChildren=false numberLayers="" isReturn=false  />
        </#if>
        <#if  (api.queryParams?size>0) >
            <#lt>#### Query Params
            <#lt>| 参数名 | 参数类型 | 是否必须 | 最大长度 | 描述 |
            <#lt>| :----- | :------- | :------- | -------- | :--- |
            <#lt><@params fieldInfos=api.queryParams isChildren=false numberLayers="" isReturn=false  />
        </#if>
        <#if  (api.bodyParams?size>0) >
            <#lt>#### Body Params
            <#lt>| 参数名 | 参数类型 | 是否必须  | 最大长度 | 描述 |
            <#lt>| :----- | :------- | :------- | --------| :--- |
            <#lt><@params fieldInfos=api.bodyParams isChildren=false numberLayers="" isReturn=false />
        </#if>
        <#if api.bodyJson??>
            <#lt>#### 请求示例
            <#lt>```json
            <#lt>${api.bodyJson}
            <#lt> ```
        </#if>
        <#lt> #### Return Params
        <#lt>| 参数名 | 参数类型 | 描述 |
        <#lt>| :----- | :------- | :--- |
        <#if api.responseParam?? >
            <#if (api.responseParam.children?size>0)>
                <#lt><@params fieldInfos=api.responseParam.children isChildren=false numberLayers=""  isReturn=true/>
            <#else>
                <#lt>|基础类型|${api.responseParam.fieldType!}|${api.responseParam.desc!}|
            </#if>

        </#if>
        <#if api.responseJson??>
            <#lt>#### 响应示例
            <#lt>```json
            <#lt>${api.responseJson}
            <#lt>```
        </#if>

    </#list>
</#list>

<#macro params fieldInfos isChildren numberLayers isReturn>
    <#list  fieldInfos as fieldInfo>
        <#if isReturn>
            <#lt>|${numberLayers}${isChildren?string('└─','')}${fieldInfo.fieldName!}|${fieldInfo.fieldType!}|${fieldInfo.desc!}|
        <#else>
            <#lt>|${numberLayers}${isChildren?string('└─','')}${fieldInfo.fieldName!}|${fieldInfo.fieldType!}|${(fieldInfo.required!)?string('是','否')}|${fieldInfo.maxLength!}|${fieldInfo.desc!}|
        </#if>
        <#if (fieldInfo.children??) && (fieldInfo.children?size>0)>
            <#lt><@params fieldInfos=fieldInfo.children isChildren=true numberLayers=numberLayers+"&nbsp;&nbsp;&nbsp;&nbsp;" isReturn=isReturn  />
        </#if>
    </#list>
</#macro>

